package com.diandi.messages.util;

import java.io.Serializable;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;

/**
 * 
 * 阿里大鱼短信发送参数
 * 
 * @author liuxu
 * @since 2016年7月11日
 *
 */
public class AliSMSDto implements Serializable {

	private static final long serialVersionUID = 6454273509947119702L;

	/**
	 * 短信签名--管理中心-短信签名管理
	 */
	private String smsFreeSignName;

	/**
	 * 短信模板变量，传参规则{"key":"value"}
	 */
	private Map<String, Object> smsParam;

	/**
	 * 接收方手机号--群发短信需传入多个号码，以英文逗号分隔，一次调用最多传入200个号码
	 */
	private String mobilePhone;

	/**
	 * 短信模板ID--管理中心-短信模板管理
	 */
	private String templateCode;

	/**
	 * 用户id
	 */
	private String userId;

	public String getSmsFreeSignName() {
		return smsFreeSignName;
	}

	public void setSmsFreeSignName(String smsFreeSignName) {
		this.smsFreeSignName = smsFreeSignName;
	}

	public Map<String, Object> getSmsParam() {
		return mapConvert(smsParam);
	}

	public void setSmsParam(Map<String, Object> smsParam) {
		this.smsParam = smsParam;
	}

	public String getMobilePhone() {
		return mobilePhone;
	}

	public void setMobilePhone(String mobilePhone) {
		this.mobilePhone = mobilePhone;
	}

	public String getTemplateCode() {
		return templateCode;
	}

	public void setTemplateCode(String templateCode) {
		this.templateCode = templateCode;
	}

	public String getUserId() {
		return userId;
	}

	public void setUserId(String userId) {
		this.userId = userId;
	}

	private Map<String, Object> mapConvert(Map<String, Object> map) {
		if (null == map)
			return null;

		Set<Entry<String, Object>> entrySet = map.entrySet();

		for (Entry<String, Object> ds : entrySet) {
			ds.setValue(ds.getValue() + "");
		}

		return map;
	}
}
